## 0.3. Using This Book

We have divided this book into three sections. The first section covers getting started and managing a MySQL or mSQL database. The second section builds upon that foundation by demonstrating how you build applications that use your MySQL or mSQL database. Finally, we provide a full reference section to provide a resource for quickly looking up any of the APIs or tools we cover in the first two sections.

If you are a member of the audience we described earlier, you fall into one of three categories:

- MySQL users and administrators

- mSQL users and administrators

- Undecided, but definitely will be using either MySQL or mSQL

We have directed the first section of the book at database administrators. We start at a high level by addressing the question of what exactly is a database. Perhaps you have experience with databases; if so, such a discussion is certainly way too basic for you. You will still want to catch the end of Chapter 1, "Introduction to Relational Databases", for a short introduction to MySQL and mSQL. This discussion is of particular interest to anyone who has not yet made a decision on which database to use and who wants a short overview of the two.

Chapter 2, "Database Design", may appear at first unimportant. It is, on the contrary, one of the most important chapters of the book. Proper database design is essential for both database administrators and programmers if the goal is to build database applications that will be flexible enough to scale as application needs change. You also need a proper database design if you want your database to actually perform well.

Chapter 3, "Installation", covers installation of both engines.

If you have chosen a particular database engine, you can skip either Chapter 4, "MySQL", or Chapter 5, "mSQL". Each chapter is specific to one of the two database engines and is completely irrelevant to users of the other engine. If, however, you have not yet made a decision, then these two chapters will be key to your selection process.

We close out the administrative section with a discussion of the variants of SQL presented by MySQL and mSQL. While programmers may be largely uninterested in the first section, they will find the need to occasionally refer to this section even if they are experienced SQL programmers. Anyone who has never before used SQL definitely needs to read this chapter.

The second section begins with an overview of the client/server programming model. This discussion is very high level, but it is key to understanding how the database and the application programming work together to build a solid database application. Of course, if you are experienced with client/server programming in other environments, this sort of architectural discussion may be old hat to you. The rest of the section contains chapters devoted to programming in specific languages or using specific tools. Of particular interest to web programmers will be the chapters on Perl, Java, Python, and PHP.

The book closes with a reference section that covers all of the tools and APIs we address in the book.[1]

> [1]Chapter 22, "JDBC Reference", is a revised version of an appendix from O'Reilly's Database Programming with JDBC and Java by George Reese.

Copyright © 2001 O'Reilly & Associates. All rights reserved.